Efficient Stateful Dynamic Partial Order Reduction

نویسندگان

  • Yu Yang
  • Xiaofang Chen
  • Ganesh Gopalakrishnan
  • Robert Michael Kirby
چکیده

In applying stateless model checking methods to realistic multithreaded programs, we find that stateless search methods are ineffective in practice, even with dynamic partial order reduction (DPOR) enabled. To solve the inefficiency of stateless runtime model checking, this paper makes two related contributions. The first contribution is a novel and conservative light-weight method for storing abstract states at runtime to help avoid redundant searches. The second contribution is a stateful dynamic partial order reduction algorithm (SDPOR) that avoids a potential unsoundness when DPOR is naively applied in the context of stateful search. Our stateful runtime model checking approach combines light-weight state recording with SDPOR, and strikes a good balance between state recording overheads, on one hand, and the elimination of redundant searches, on the other hand. Our experiments confirm the effectiveness of our approach on several multithreaded benchmarks in C, including some practical programs.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Model Checking Database Applications

We describe the design of DPF, an explicit-state model checker for database-backed web applications. DPF interposes between the program and the database layer, and precisely tracks the effects of queries made to the database. We experimentally explore several implementation choices for the model checker: stateful vs. stateless search, state storage and backtracking strategies, and dynamic parti...

متن کامل

Dynamic Model Checking with Property Driven Pruning to Detect Race Conditions

We present a new property driven pruning algorithm in dynamic model checking to efficiently detect race conditions in multithreaded programs. The main idea is to use a lockset based analysis of observed executions to help prune the search space to be explored by the dynamic search. We assume that a stateless search algorithm is used to systematically execute the program in a depth-first search ...

متن کامل

Enabling Efficient Partial Order Reductions for Model Checking Object-Oriented Programs Using Static Calculation of Program Dependences

In our previous work, we developed partial order reduction techniques that now form the core reduction strategies of several popular Java model checking frameworks including Bogor and JPF. These techniques work by dynamically collecting independence information needed to drive POR. In this paper, we consider several additional variants of partial order reductions and how independence informatio...

متن کامل

Distributed Dynamic Partial Order Reduction Based Verification of Threaded Software

Runtime (dynamic) model checking is a promising verification methodology for real-world threaded software because of its many features, the prominent ones being: (i) it avoids the need to extract a model and instead runs the actual code, and (ii) the precision of information available at run-time allows techniques such as dynamic partial order reduction (DPOR) [1] to dramatically cut down the n...

متن کامل

Effective Techniques for Stateless Model Checking

Aronis, S. 2018. Effective Techniques for Stateless Model Checking. Digital Comprehensive Summaries of Uppsala Dissertations from the Faculty of Science and Technology 1602. 56 pp. Uppsala: Acta Universitatis Upsaliensis. ISBN 978-91-513-0160-0. Stateless model checking is a technique for testing and verifying concurrent programs, based on exploring the different ways in which operations execut...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008